1. Technical Field
This disclosure relates generally to data backup systems, and, more specifically, to a system and method for tracking files which have been processed by a backup or a restore operation.
2. Description of the Related Art
Computer systems, and their components, are subject to various types of failures which may result in the loss of data. For example, a storage device used in or by the computer system may experience a failure (e.g. mechanical, electrical, magnetic, etc.) which may make any data stored on that storage device unreadable. Erroneous software or hardware operation may corrupt the data stored on a storage device, destroying the data stored on an otherwise properly functioning storage device. Any component in the storage chain between (and including) the storage device and the computer system may experience failure (e.g., the storage device, connectors (e.g., cables) between the storage device and other circuitry, the network between the storage device and the accessing computer system (in some cases), etc.).
To mitigate the risk of losing data, computer systems typically replicate (or make backup copies of) data stored on various computers and storage devices. When performing a backup of data from a remote system, sometimes the backup can fail. This can happen for various reasons including such things as intermittent network issues or even the need to manually stop the backup. When this happens, it is often desirable to restart the failed backup near the point where the failure occurred. There are essentially two main issues in performing such a restart. The first is determining a point in the backup where the entire backup data stream has been recorded for the last file examined; the second is determining where the remote client should restart its backup. It is not difficult to keep track of what the last file backed up is. When it comes to restarting on the client, figuring out where to restart can be more complicated. For example, even if the last successfully backed up file is known, there may be difficulties finding a new starting point on the client if that file no longer exists on the system being backed up. Accordingly, improvements in systems for tracking files which have been processed by a backup or a restore operation, in particular for use in restarting interrupted backup operations, are desirable.